#pragma managed
#pragma once

using namespace System;
using namespace System::Collections::Generic;
using namespace System::Runtime::InteropServices;

namespace O1 {
	namespace Storage {

		public ref class SingleVersionStore
		{

		public:

			SingleVersionStore(Int64 initialCapacity);

			~SingleVersionStore();

			Int64 Add(array<Byte>^ value);

			Int64 Write(Int64 index, array<Byte>^ value);

			Int64 Delete(Int64 index);

			array<Byte>^ Read(Int64 index);
		};
	}
}
